#include "drawobject.h"

DrawObject::DrawObject() {}

DrawObject::~DrawObject() {}

QMap<QString,QString> DrawObject::parseStyle(QString &style)
{
    // Разбиваем строку стилей на пары "тип:значение"
    QStringList styleList = style.split(";",QString::SkipEmptyParts);

    // Заполняем словарь стилей
    QMap<QString,QString> stylemap;
    foreach (QString str, styleList)
    {
        QStringList values = str.split(":");
        if (values.count() == 2)
            stylemap.insert(values.at(0).trimmed(),
                            values.at(1).trimmed());
    }

    return stylemap;
}

QString DrawObject::constructStyle(QMap<QString,QString> &stylemap)
{
    QString style;

    // Перебираем все ключи в стилях
    foreach(QString str, stylemap.keys())
    {
        style += str + ":" + stylemap.value(str) + ";";
    }
    return style;
}

QString DrawObject::getHexColor(QColor& color)
{
#warning String magic
    QString str = "#" + QString::number(color.rgb(),16).right(6);
    return str;
}
